home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Comm / AmiTCP30b2.lha / src / appl / napsaterm / wimp.h < prev   
C/C++ Source or Header  |  1994-05-14  |  3KB  |  131 lines

  1. /*
  2.  * wimp.h --- declarations for Napsaterm graphical interface 
  3.  *
  4.  * Authors: Pekka Pessi <Pekka.Pessi@hut.fi>
  5.  *          Chris Newman,
  6.  *          Todd Williamson.
  7.  *
  8.  * Copyright (c) 1989, 1993 by authors.  All Rights Reserved
  9.  *
  10.  * Permission is granted to copy, modify, and use this as long
  11.  * as this notice remains intact.  This is a nifty program.
  12.  *
  13.  * DISCLAIMER: the authors of this program are not responsible
  14.  * for any damage or other problems caused by it.
  15.  *
  16.  * Created      : Sat Nov 13 06:55:40 1993 ppessi
  17.  * Last modified: Sat May 14 17:14:44 1994 ppessi
  18.  *
  19.  * $Log: wimp.h,v $
  20.  * Revision 3.2  1994/05/14  14:15:19  ppessi
  21.  * Merged changes from Napsaterm 3.5 by R. Knop
  22.  *
  23.  * Revision 3.1  1994/01/07  22:51:54  ppessi
  24.  * Version 3 beta
  25.  *
  26.  * Revision 2.1  93/11/17  15:40:44  ppessi
  27.  * Restructured drawing routines (amigadisplay.c) 
  28.  * and windowing routines (wimp.c)
  29.  * 
  30.  * Revision 2.0  93/11/15  03:32:45  ppessi
  31.  * Version 2 initial revision
  32.  * 
  33.  */
  34.  
  35. /*
  36.  * These depend on Intuition/used font 
  37.  */
  38. extern struct geometry {
  39.   short left, top;        /* in pixels */
  40.   short width, height;        /* as characters */
  41.   short x, y;            /* in pixels */
  42.   short xoff, yoff;        /* in window coordinates */
  43.   struct fontdimen {
  44.     short w, h, b;        /* current font dimensions */
  45.   } font; 
  46. } wm;
  47.  
  48. #define    POSX(num)    (wm.xoff + (num) * wm.font.w)
  49. #define    POSY(num)    (wm.yoff + (num) * wm.font.h)
  50. #define    GETXPOS(x)    (((x) - wm.xoff) / wm.font.w)
  51. #define    GETYPOS(y)    (((y) - wm.yoff) / wm.font.h)
  52.  
  53. /*
  54.  * Declarations for drawing routines
  55.  */
  56. int initdrawing(struct RastPort *rastport);
  57. void deinitdrawing(void);
  58. void showbanner(struct RastPort *rp, char *text);
  59.  
  60. /* 
  61.  * Declarations for fonts
  62.  */
  63. void initfonts(void);
  64. void deinitfonts(void);
  65. void setfont(register struct RastPort *rastport, register ULONG style);
  66.  
  67. /* The styles that we ask for */
  68. #define    STYLE_MASK (UNDERLINE | BOLD | ITALIC)
  69. #define    ATTRIB_MASK (UNDERLINE | BOLD | ITALIC | ALTERNATE | DOUBLE1 | DOUBLE2)
  70.  
  71. /*
  72.  * Declarations for selections
  73.  */
  74. #define LBDOWN     1        /* actions for doselection() */
  75. #define LBUP       2
  76. #define LMOVE    4
  77. char *grabSelection(void);
  78. void extendSelection(int sx, int sy, int ex, int ey);
  79. int isSelection(void);
  80. void clearSelection(void);
  81. void invertSelection(void);
  82. void killSelection(void);
  83. void doselection(int action, int x, int y);
  84.  
  85. /*
  86.  * Declarations for keyboard handling
  87.  */
  88. void dokeys(struct IntuiMessage *msg);
  89. void initkeys(void);
  90. void deinitkeys(void);
  91.  
  92. void *setmap(const char *, void *);
  93. int parsekeymap(char *s, void *);
  94.  
  95. /*
  96.  * Declarations for menus
  97.  */
  98. void domenu(register struct IntuiMessage *msg);
  99. void initmenus(void);
  100. void deinitmenus(void);
  101.  
  102. /* 
  103.  * Nations
  104.  */
  105. #define CHARSETSIZE 256
  106.  
  107. /* national_kmap provides mapping from 
  108.  * the ascii codes to the national character codes
  109.  */
  110. extern unsigned char national_show[CHARSETSIZE];
  111.  
  112. /* national_kmap provides mapping from 
  113.  * the keyboard Latin1 codes to the national character codes
  114.  */
  115. extern unsigned char national_send[CHARSETSIZE];
  116.  
  117. void setnation(unsigned int n);
  118. void setnation_byname(const char *name);
  119. const char *getnationname(unsigned int n);
  120. unsigned int getnationnumber(void);
  121.  
  122. void initnations(void);
  123. void deinitnations(void);
  124.  
  125.  
  126. /* added RKNOP 940328 */
  127. /* keypad constants */
  128. #define KEYP_NUMERIC 0
  129. #define KEYP_APPL 1
  130. /* end added RKNOP */
  131.